热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

加工|机床_工业4.0资产管理壳学习笔记应用场景与架构

篇首语:本文由编程笔记#小编为大家整理,主要介绍了工业4.0资产管理壳学习笔记-应用场景与架构相关的知识,希望对你有一定的参考价值。        资产管理壳ÿ

篇首语:本文由编程笔记#小编为大家整理,主要介绍了工业4.0 资产管理壳学习笔记-应用场景与架构相关的知识,希望对你有一定的参考价值。


        资产管理壳(AAS)是工业4.0 的重要概念,AAS 本质上是将物理设备(所谓资产)加上了一个数字化模型的“壳”,实现资产的信息交换。AAS将硬件设备转换成为一种服务(service),可以通过软件实现请求、提供服务。比如 请求CNC机床”在某个位置打个孔“,这是一种服务。在I4.0的观点之下,设备将成为服务提供商(Service Provider)。PLC 不再执行部分生产流程,而是提供具有明确定义接口的生产服务。它将原先生产由人和机器完成的加工过程转变成为了IT系统的数据流和控制流,加工变成为软件在网络中的一次调用。而且这些数据流和控制流是符合统一的标准的,并且与厂商无关。当所有的设备都加上了符合标准的AAS之后,“即插即生产”的目标就可以实现了。


从一个简单的场景谈起

        我们这里举一个例子来说明,使用机械臂实现CNC 机床的上下料,并且通过一个PLC做控制器。当CNC和机械臂控制器中都已经实现了I4.0 的管理壳之后,控制器程序可以请求CNC 管理壳加工一个铝外壳(一种服务)。或者请求机械臂从原材料的托盘上取走原材料(一种服务),放置到CNC机床上,当CNC管理壳发出了完成的事件后,机械臂取走加工好的铝外壳(一种服务)。放置在成品的托盘上。整个流程如下图所示。

上面的加工步骤为:


  1. 取原料
  2. 加工
  3. 取成品

        这种控制方式是Master/Slave 的结构,如果采用传统控制技术的实现的话,控制器由一台PLC 或者工控电脑(如果需要HMI界面时)来实现。

        在实际生产过程中,还需要加工的CNC程序,Robot 的运动,Robot与托盘之间的位置识别等细节。这些工作既可以由人工来实现,比如在工控电脑中人工导入CNC程序,加工数量等等。也可以使用上层MES 软件远程下载各种参数。所以架构变成下图:

          这种主从架构的系统是自动系统常见,生产的流程控制在控制器中完成,CNC 与机械臂接受主控制器的服务调用,并且向主控制器提供状态信息。CNC和机械臂内部有各自的程序,由控制器下载,或者其它计算机(例如CNC 编程工作站)下载程序。

        如果CNC和机械臂带有AAS之后,控制器的程序与CNC和机械臂的厂商型号无关。因为每个厂商的硬件产品的AAS具有一样的模型,采取统一的访问协议。而在目前,CNC控制器和机械臂控制器协议五花八门,熟悉厂商的专有协议和参数花费了大量的时间。为了适配机械臂和CNC 的现场总线接口卡和API 驱动花费许多钱。这就是AAS给系统集成上带来的直接好处。

        说句题外话,在许多场合自动化系统的新技术并没有给最终用户(CNC加工厂)带来多少直接的价值,而是节省了系统集成上的开发成本,当然开发成本的下降会传导给最终用户。


分布式AAS 架构

        除了主从架构之外,AAS也可以采取分布式控制方式,比如上面的CNC加工单元可以改为下面的方法:

这种流程是分布式串行方式的

1 通知机械臂取原材料,装置到CNC操作工作台。

2 机械臂通知CNC 开始加工。

3 CNC 通知机械臂取走加工好的铝外壳。

      这种结构变的复杂起来了。机械臂AAS要与CNC AAS之间实现通信。Robot AAS 通知CNC AAS “嘿!哥们加工吧”,当CNC加工完成后,CNC AAS 告诉Robot AAS “老伙计,来取走吧”。

那么,CNC和机械臂中的程序如何下传呢?显然有两种方式:

1 控制器下载程序到机械臂,机械臂下载到CNC

2 由控制器通过AAS 通信直接下载到两个AAS中。

        显然,第一种方式比较简单,设备制造商根据自己的设备的特性和提供的服务,构建好AAS,就可以实现上层软件对设备的控制。它不需要知道前后工序的设备的状况,也不需要与左邻右舍之间的协同操作,一切看上面的意思就好了。但是分布式AAS 网络在多单元协同的生产线上也是常见的一种结构。比如在罐装流水线上饮料贴不同的标签,自动搬运小车与生产单元的对接等场合。分布式协作网更加容易编程和设备布局。


AAS 的两种通信方式

 由此看来,AAS 具有两种通信方法:

   垂直通信:上层软件与AAS 之间的通信协议,他们可以是OPC UA 协议,HTTP协议等等。

  水平通信: AAS 与AAS 之间的通信协议,在Industry 4.0 Platform 中称为 I4.0 语言。


AAS 部署的位置

        AAS 是资产的管理壳,所谓资产,是一个广泛的对象。可以是对企业有价值的任何事物。具体地讲,可以是现场设备例如PLC 伺服驱动器,传感器,也可以是MES,ERP软件,或者是设备中的主控制器。理论上讲,每个物件都可以加一个AAS。

       在数字化制造系统的构建过程中,我们是将所有的物理设备和软件都构建一个AAS呢?还是选择性地构建AAS呢?着有一个权衡的问题。实现一个AAS需要额外的运算能力,同时也增加了初期工程设计的工作量。

      比如,在一台CNC 机床的内部可能由一台基于Windows 的主控制器,还有若干台PLC ,伺服电机,传感器,执行机构组成。CNC内部的控制设备PLC 等就不必实现AAS,而是使用传统的现场总线和控制协议来实现数据通信。AAS 需要通过传统的现场控制总线来实现与内部资产的数据交换。


        当然,工程设计过程中可以将某些具有AAS 的部件构成一个生产单元。每个设备和组件都具有AAS 。


        如此一来,带有AAS 的设备的通信更加灵活,也更加复杂。上一层的AAS 可以调用下一层的AAS的SubModule.。

每一个AAS既是服务的提供者,又是服务的请求者。 


I4.0 语言

        在I4.0 的观点下, 水平协议称为I4.0 语言,符合VDI/VDE 2193标准。它是一种基于消息的通信协议上构建的(例如MQTT协议)。采用了JSON 格式。

AAS之间通过消息通信。

目前从i4,0语言的规范只有MQTT协议。网络的分层结构如下图所示。 

 


         I4.0 语言与OPCUA 的SUB/PUB 协议不兼容,我并不清楚是否能够使用OPCUA 的SUB/PUB协议来传输I4.0 语言?基于MQTT的协议是非实时性的。在现场控制领域,采用OPC UA SUB/PUB 协议作为现场控制总线是一个发展方向。但是如何与AAS 水平通信相结合是一个值得研究的。


管理壳(AAS)的软件架构

        在前面的博文中我已经提到,AAS可以分为AAS  As File,静态参数AAS,可编程AAS(proAAS)和动态AAS。AAS file 是作为工程设计过程中使用的AAS,而其它AAS 是嵌入在设备之中的。

静态AAS

     静态的AAS 相对比较简单,在内部有一个垂直的协议栈(AAS Stack)和一个AAS 模型构成。这与OPC UA 有类似之处。实际上能够利用OPC UA 信息模型来构建AAS 模型,并且使用OPC UA 协议进行访问。

主动AAS

 主动AAS 的网络协议相对复杂一点:

1  能够访问其它AAS 的submodules。

主动AAS 的节点中既是服务提供者,又是服务请求者。在OPCUA 的观点下,他们既是OPCUA server 又是OPCUA Client,

2 能够调用其它AAS 的服务

3 能够根据其它AAS发来的服务请求做出算法的调整。

     这部分功能对应了AAS 内部的算法,而这些算法并不是设备控制程序的一部分,而是额外的程序(他们是原来主控设备程序的一部分,完成工业优化,调度和参数配置等等)。这部分软件由谁来编写,是设备提供商,还上系统集成商?使用什么语言来编写?都是值得探讨的问题。

于是,AAS 内部的程序为下面的样子。

AAS被分成了两部分,一部分是静态AAS模型,另一部分是动态AAS,响应服务的请求。

 更细致一些分解,AAS 的软件架构如下。



 更复杂的场景

        实际的生产场景是及其复杂的,就拿上面的CNC加工单元为例,实际的场景还需要原材料和产品的托盘,机械臂需要通过图像识别设备或者相互交互的方法(比如RFID) 来确定工件放置的位置。为了相互交互,托盘需要带有AAS壳。更进一步地,为了抓取部件,需要有原材料的几何形状等信息,这就需要原材料的AAS(静态AAS),如果是该原材料涉及外部采购或者内部粗加工出来,也需要原材料的分类编号的技术规格。在理想的状态下,生产过程中涉及的所有设备和材料都需要数字化模型(也就是所谓管理壳)。

      所有的技术改进都是为了提高生产效率,降低生产成本,提高产品质量。如果仅仅在车间中安装了机械臂和CNC ,那么托盘的上下料,搬运,供应链外部采购。如果这些工作依然依靠人力来完成的化,相比于投入而言,生产效率提升的不多了。因此企业没有意愿来采纳数字化技术改造生产线。

       为了实现供应商之间的AAS 通信,需要对术语,属性,指标标准化。这就需要导入Ecl@ss 字典服务器。


共识

        从目前I4.0 的发展来看,I4.0 并没有发展更多新的IT技术,关键是建立各种信息模型,并且建立和推进语言的标准化。技术实现并不困难,整个产业达成共识,实现互联互通是实现I4.0愿景的关键所在。标准化是一个十分艰巨和冗长的过程,因为寻找共识,处理好竞争对手之间的利益冲突,甚至国际协调需要花费很长的时间。在推广过程中会出现”标准僵化“现象,用户要等标准普遍接受时才会采纳。但是每个人都在等待其它人的进展而止步不前的时候,时间被浪费了。

        因此,必须找到克服标准僵化现象的方法,比如在发展的初期,采用部分标准化的内容,如何能让制造业在局部范围内获益。利用标准化的优势开发新的商业模式,开发者得到商业利益。这些问题是工程师和管理部门值得思考的。这不仅是技术问题,也是社会和商业问题。


结束语

        工业4.0 管理壳是一种全新的数字制造方式,概念很新。它是以德国为主的国外机构提出的未来数字化制造的愿景图,他们要解决的问题和我们们面临的问题不经相同,语言和文化背景也不同。所以许多概念和理念我们并不十分理解,面对我们的现状,可以创新的机会也很多。不必东施效颦。

         工业4.0 的所有努力是为了实现更短的创新周期,更加个性化的产品,更柔性化地生产。经常被提到汽车上提供非常多的颜色和内饰配置。产线需要根据生产的产品频繁地做出调整。如果生产线是为单一产品而设置的专用生产线。比如只生产一种颜色的福特车。工业4.0 并没有发挥多少优势。人工智能技术的导入,控制算法的优化等等应该也不是工业4.0 要解决的问题。这是经常被人们误解的问题。

        本人写的博文存在许多理解的偏差。仅供大家参考,并且共同探讨。



推荐阅读
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 PostgreSQL 社区的最新进展和技术分享 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 本文详细介绍了装饰者(Decorator)模式,这是一种动态地为对象添加职责的方法。与传统的继承方式不同,装饰者模式通过组合而非继承来实现功能扩展,从而提供更大的灵活性和可维护性。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 深入解析Java多线程与并发库的应用:空中网实习生面试题详解
    本文详细探讨了Java多线程与并发库的高级应用,结合空中网在挑选实习生时的面试题目,深入分析了相关技术要点和实现细节。文章通过具体的代码示例展示了如何使用Semaphore和SynchronousQueue来管理线程同步和任务调度。 ... [详细]
author-avatar
nashiyizhiyu_847_695
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有